/**
 * async 确保函数返回一个promise
 * 其他值将自动被包装在一个resolved的promise中。
 */
async function f () {
  return 1;
}
f().then(rsp => console.log(rsp));

async function func () {
  let promise = new Promise((resolve, reject) => {
    setTimeout(() => resolve("done!"), 1000);
  });
  let result = await promise; // 等待，直到 promise resolve(*) 在执行的时候，会暂停在这一行，在promise settle时， 拿到result作为结果继续往下执行。
  console.log(result);
}

func();
/**
 * 不能再普通函数中使用await
 */